layui.use('element', function(){
    var element = layui.element;
    //监听导航点击
    element.on('tab(subJobTab)', function(elem){
        console.log(elem)
        var id=$(this).attr("id");
        var zeppelinUrl = $(this).attr("zeppelinUrl");
        var sql = $(this).attr("sql");
        //点击后获取id 更新
        refresh(id,zeppelinUrl,sql);
    });

    var active = {
        //在这里给active绑定几项事件，后面可通过active调用这些事件
        tabChange: function (id) {
            //切换到指定Tab项
            element.tabChange('home-tabs', id); //根据传入的id传入到指定的tab项
        },
        tabDelete: function (id) {
            element.tabDelete('home-tabs', id); //删除
        },
        tabRefresh: function (id) { //刷新页面
            alert(id);
        }
    };
    //获取所有的菜单
    $.ajax({
        type:"GET",
        url:"/sql/queryGroupJobSql",
        dataType:"json",
        success:function(data){
            //先添加所有的主材单
            var content;
            $.each(data.data,function(i,obj){
                if(obj.childrenList!=null)//添加子任务  后期改成递归的形式
                {
                    content='<li class="layui-nav-item">';
                    content+='<a href="javascript:;">'+obj.name+'</a>';
                    content+=loadchild(obj);
                    content+='</li>';
                    CustomRightClick(obj.id);
                }else
                {
                    content='<li class="layui-nav-item">';
                    content+='<a href="javascript:queryNoteInfo(\''+obj.id+'\',\''+obj.name+'\',\''+obj.zeppelinUrl+'\')">'+obj.name+'</a>';
                    content+='</li>';
                    CustomRightClick(obj.path);
                }
                $(".layui-nav-tree").append(content);
            });

            element.init();
        },
        error:function(jqXHR){
            alert("发生错误："+ jqXHR.status);
        }
    });
    //组装子菜单的方法
    function loadchild(obj){
        if(obj==null){
            return;
        }
        var content='';
        if(obj.childrenList!=null && obj.childrenList.length>0){
            content+='<dl class="layui-nav-child">';
        }else{
            content+='<dl>';
        }
        if(obj.childrenList!=null && obj.childrenList.length>0){
            $.each(obj.childrenList,function(i,note){
                content+='<dd>';
                content+='<a href="javascript:queryNoteInfo(\''+note.id+'\')">'+note.name+'</a>';
                if(note.childrenList==null){
                    return;
                }
                content+=loadchild(note);
                content+='</dd>';
            });
            content+='</dl>';
        }
        //console.log(content);
        return content;
    }
});
/*
 /  更新tab 切换以后编辑框里的内容
 */
function refresh(id,zeppelinUrl,sql){
    if(typeof(sql) =="undefined")
    {
        sql="";
    }
    window.editor.getDoc().setValue(sql);
    window.editor.refresh();
}

function  queryNoteInfo(id,name,zeppelinUrl) {
    $.ajax({
        type: "GET",
        url:"/sql/querySubGroupJobSql",
        dataType:"json",
        data: {
            "id": id,
            "name": name
        },
        success: function(data) {
            //删除原有tab 页面
            $('#subJobTabtitle li').remove();
            if(data.status == "200") {
                //将重新修改后的名称加载到树结构上
                //取title  还有 text  如过是新建的 那么是没有的
                var notebookid = data.data.id;
                $.each(data.data.paragraphs,function(i,obj){
                    var id= obj.id;
                    var title = obj.title;
                    var text = obj.text;
                    if(typeof(text)=="undefined")
                    {
                        text =" ";
                    }
                    if(typeof(title) =="undefined")
                    {
                        title=id;
                    }
                    var tab ;
                    if(i==0)
                    {
                        window.editor.getDoc().setValue(text);
                        window.editor.refresh();
                        tab = $('<li class="active layui-this" id="'+id+'" zeppelinUrl="'+zeppelinUrl+'" sql=\''+text+'\' notebookid="'+notebookid+'">'+title+'</li>');
                    }else {
                        tab = $('<li class="active" id="'+id+'" zeppelinUrl="'+zeppelinUrl+'" sql=\''+text+'\' notebookid="'+notebookid+'">'+title+'</li>');
                    }
                    $("#subJobTabtitle").append(tab);
                    layui.use('element', function(){
                        var element = layui.element;
                        element.render('tab');
                    });
                });
            }else{
                $.dialog({
                    type: "confirm",
                    content: L.getLocaleMessage("updateNamemessage","修改任务名称失败"),
                    autofocus: true,
                    ok: function() {
                    }
                });
            }
        }
    });
}

function CustomRightClick(id) {
    //取消右键  rightmenu属性开始是隐藏的 ，当右击的时候显示，左击的时候隐藏
    $('.layui-tab-title li').on('contextmenu', function () {
        return false;
    })
    $('.layui-tab-title,.layui-tab-title li').click(function () {
        $('.rightmenu').hide();
    });
    //单击取消右键菜单
    $('body,#aaa').click(function () {
        $('.rightmenu').hide();
    });
    //tab点击右键
    $('.layui-nav-tree li').on('contextmenu', function (e) {
        debugger;
        var popupmenu = $(".rightmenu");
        popupmenu.find("li").attr("data-id", id); //在右键菜单中的标签绑定id属性

        //判断右侧菜单的位置
        l = ($(document).width() - e.clientX) < popupmenu.width() ? (e.clientX - popupmenu.width()) : e.clientX;
        t = ($(document).height() - e.clientY) < popupmenu.height() ? (e.clientY - popupmenu.height()) : e.clientY;
        popupmenu.css({
            left: l,
            top: t
        }).show(); //进行绝对定位
        return false;
    });
}

$(".rightmenu li").click(function () {
    //当前的tabId
    var currentTabId = $(this).attr("data-id");

    if ($(this).attr("data-type") == "closeOthers") { //关闭其他
        var tabtitle = $(".layui-tab-title li");
        $.each(tabtitle, function (i) {
            if ($(this).attr("lay-id") != currentTabId) {
                active.tabDelete($(this).attr("lay-id"))
            }
        })
    } else if ($(this).attr("data-type") == "closeAll") { //关闭全部
        var tabtitle = $(".layui-tab-title li");
        $.each(tabtitle, function (i) {
            active.tabDelete($(this).attr("lay-id"))
        })

    } else if ($(this).attr("data-type") == "refresh") { //刷新页面
        active.tabRefresh($(this).attr("data-id"));

    } else if ($(this).attr("data-type") == "closeRight") { //关闭右边所有
        //找到当前聚焦的li之后的所有li标签 然后遍历
        var tabtitle = $(".layui-tab-title li[lay-id=" + currentTabId + "]~li");
        $.each(tabtitle, function (i) {
            active.tabDelete($(this).attr("lay-id"))
        })
    }

    $('.rightmenu').hide();
});
